// 导入request请求工具类
import {
    getBaseUrl,
    requestUtil
} from '../../utils/requestUtil.js';
import regeneratorRuntime from '../../lib/runtime/runtime';
const app = getApp()
Page({
    /**
     * 页面的初始数据
     */
    data: {
        baseUrl: '',
        productObj: {},
        commentObj: {},
        activeIndex: 0,
        content: '', //文本类容
        bottomHeight: 0 //定义comment容器与page容器下边界之间的距离    
    },
    productInfo: {

    },
    shoucangInfo: {

    },
    // 获取焦点 唤起软键盘
    bindfocus(e) {
        console.log(e, '键盘弹起')
        console.log(e)
        this.setData({
            bottomHeight: e.detail.height //将键盘的高度设置为comment容器与page容器下边界之间的距离。
        })
    },
    // 输入内容
    bindinput(e) {
        this.setData({
            content: e.detail.value
        })
    },
    // 失去焦点 
    bindblur(e) {
        console.log(e, '收起键盘')
        this.setData({
            bottomHeight: 0
        })
    },
    sendOut() {
        let {
            content
        } = this.data //使用解构 
        //调用发送接口
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        const baseUrl = getBaseUrl();
        this.setData({
            baseUrl
        })
        this.getProductDetail(options.id)
        this.getProductComment(options.id)
    },
    /**
     * 获取商品详情
     * @param {} id 
     */
    async getProductDetail(id) {
        const result = await requestUtil({
            url: "/product/detail",
            data: {
                id
            }
        });
        this.productInfo = result.message;
        this.shoucangInfo = result.message;
        this.setData({
            productObj: result.message
        })
    },
    /**
     * 获取评论详情
     * @param {*} id 
     */
    async getProductComment(id) {
        const result = await requestUtil({
            url: "/product/comment",
            data: {
                id
            }
        });
        this.commentInfo = result.message
        this.setData({
            commentObj: result.message
        })
    },

    // 点击事件 商品加入购物车
    handleCartAdd() {
        this.setCartAdd();
        // 弹窗提示
        wx.showToast({
            title: '加入成功',
            icon: 'success',
            mask: true
        })
    },
    // 加入购物车
    setCartAdd() {
        // 获取缓存中的购物车 数组格式
        let cart = wx.getStorageSync('cart') || [];
        // 判断商品对象中是否存在于购物车数组中
        let index = cart.findIndex(v => v.id === this.productInfo.id);
        if (index === -1) { //不存在
            this.productInfo.num = 1;
            this.productInfo.checked = true;
            cart.push(this.productInfo);
        } else { //已经存在
            cart[index].num++;
        }
        wx.setStorageSync('cart', cart); // 把购物车添加到缓存中
    },
    // 点击事件 商品加入购物车
    handleShouCangAdd() {
        this.setShoucangAdd();
        // 弹窗提示
        wx.showToast({
            title: '收藏成功',
            icon: 'success',
            mask: true
        })
    },
    // 加入购物车
    setShoucangAdd() {
        // 获取缓存中的购物车 数组格式
        let shoucang = wx.getStorageSync('shoucang') || [];
        // 判断商品对象中是否存在于购物车数组中
        let index = shoucang.findIndex(v => v.id === this.shoucangInfo.id);
        if (index === -1) { //不存在
            this.shoucangInfo.num = 1;
            shoucang.push(this.shoucangInfo);
        }
        wx.setStorageSync('shoucang', shoucang); // 把购物车添加到缓存中
    },
    /**
     * tab点击事件
     * @param {} e 
     */
    handleItemTap(e) {
        const {
            index
        } = e.currentTarget.dataset;
        console.log(index)
        this.setData({
            activeIndex: index
        })
    },
    // 点击 立即购买
    handleBuy() {
        this.setCartAdd();
        wx.switchTab({
            url: '/pages/cart/index',
        })
    },
})